/*!
 @header   NSDictionary 分类
 @abstract 对NSDictionary类的扩展
 @author zhuluran
 @version 1.0 2015/06/17 Create
 */

#import <Foundation/Foundation.h>

@interface NSDictionary (Extension)

/*!
 @method
 @abstract 遍历字典中对象
 @discussion 遍历字典中对象,返回key，object

 @param block 返回key-object对
 */
- (void)each:(void (^)(id key, id value))block;

/*!
 @method
 @abstract 遍历字典中的key
 @discussion 遍历字典中的key，返回key

 @param block 返回key
 */
- (void)eachKey:(void (^)(id key))block;

/*!
 @method
 @abstract 遍历字典中的值
 @discussion 遍历字典中的值，返回object
 @author ZhuLuRan, 15-06-19 15:06:56
 @param block 返回object
 */
- (void)eachValue:(void (^)(id value))block;

/*!
 @method
 @abstract 遍历修改字典中的键值对
 @discussion 遍历字典中的键值对，将修改后的新对象以数组形式返回

 @param block 含有每个对象键值对信息，可处理成新对象
 
 @return 返回新对象构成的数组
 */
- (NSArray *)map:(id (^)(id key, id value))block;

/*!
 @method
 @abstract 判断字典中是否存在key
 @discussion 判断一个key是否在字典中存在
 
 @param key 需要判读的key
 
 @return 是否存在于字典中
 */
- (BOOL)hasKey:(id)key;

@end
